/**
 * 初始化服务接口详情对话框
 */
var AppResourceInfoDlg = {
    appResourceInfoData : {},
    validateFields: {
    	appId: {
            validators: {
                notEmpty: {
                    message: '服务id不能为空'
                }
            }
        },
    	resourceType: {
            validators: {
                notEmpty: {
                    message: '接口类型不能为空'
                }
            }
        },
    	resourceCode: {
            validators: {
                notEmpty: {
                    message: '接口编码不能为空'
                },
                regexp: {/* 只需加此键值对，包含正则表达式，和提示 */
                    regexp: /^[a-zA-Z]/,
                    message: '必须以字母开头.'
                }
            }
        },
    	resourceName: {
            validators: {
                notEmpty: {
                    message: '接口名称不能为空'
                }
            }
        },
    	resourceState: {
            validators: {
                notEmpty: {
                    message: '接口状态不能为空'
                }
            }
        }
    }
};

/**
 * 清除数据
 */
AppResourceInfoDlg.clearData = function() {
    this.appResourceInfoData = {};
}

/**
 * 设置对话框中的数据
 *
 * @param key 数据的名称
 * @param val 数据的具体值
 */
AppResourceInfoDlg.set = function(key, value) {
    this.appResourceInfoData[key] = (typeof value == "undefined") ? $("#" + key).val() : value;
    return this;
}

/**
 * 设置对话框中的数据
 *
 * @param key 数据的名称
 * @param val 数据的具体值
 */
AppResourceInfoDlg.get = function(key) {
    return $("#" + key).val();
}

/**
 * 关闭此对话框
 */
AppResourceInfoDlg.close = function() {
    parent.layer.close(window.parent.AppResource.layerIndex);
}

/**
 * 收集数据
 */
AppResourceInfoDlg.collectData = function() {
	this.set('id');
	this.set('appId');
	this.set('resourceType');
	this.set('resourceGroup');
	this.set('resourceCode');
	this.set('resourceName');
	this.set('serviceType');
	this.set('httpType');
	this.set('serviceUrl');
	this.set('serviceMethod');
	this.set('serviceParms',serviceParms_editor.val());
	this.set('resourceState');
	this.set('resourceDesc');
	this.set('weight');
}

/**
 * 验证数据是否为空
 */
AppResourceInfoDlg.validate = function () {
    $('#appResourceInfoForm').data("bootstrapValidator").resetForm();
    $('#appResourceInfoForm').bootstrapValidator('validate');
    return $("#appResourceInfoForm").data('bootstrapValidator').isValid();
}

/**
 * 提交添加
 */
AppResourceInfoDlg.addSubmit = function() {

    this.clearData();
    this.collectData();
    if (!this.validate()) {
        return;
    }

    //提交信息
    var ajax = new $ax(Sys.backendPath + "/appresource/add", function(data){
        Sys.success("添加成功!");
        window.parent.AppResource.table.refresh();
        AppResourceInfoDlg.close();
    },function(data){
        Sys.error("添加失败!" + data.responseJSON.message + "!");
    });
    ajax.set(this.appResourceInfoData);
    ajax.start();
}

/**
 * 提交修改
 */
AppResourceInfoDlg.editSubmit = function() {

    this.clearData();
    this.collectData();
    if (!this.validate()) {
        return;
    }

    //提交信息
    var ajax = new $ax(Sys.backendPath + "/appresource/update", function(data){
        Sys.success("修改成功!");
        window.parent.AppResource.table.refresh();
        AppResourceInfoDlg.close();
    },function(data){
        Sys.error("修改失败!" + data.responseJSON.message + "!");
    });
    console.log(this.appResourceInfoData)
    ajax.set(this.appResourceInfoData);
    ajax.start();
}

$(function() {
	$("#resourceType").change(function(){
		if($(this).val()==1){
			$('#resourceCollapse').collapse('show')
		}else{
			$('#resourceCollapse').collapse('hide')
		}
	});
	$('#resourceCollapse').collapse({
		  toggle: $("#resourceType").val()==1?true:false
	})
	
	$("#serviceType").change(function(){
		if($(this).val()==1){
			$('#serviceMethodCollapse').collapse('show')
			$('#httpTypeCollapse').collapse('hide')
		}else{
			$('#serviceMethodCollapse').collapse('hide')
			$('#httpTypeCollapse').collapse('show')
		}
	});
	$('#serviceMethodCollapse').collapse({
		  toggle: $("#serviceType").val()==1?true:false
	})
	$('#httpTypeCollapse').collapse({
		  toggle: $("#serviceType").val()!=1?true:false
	})
	
	
	Sys.initValidator("appResourceInfoForm", AppResourceInfoDlg.validateFields);
});
